Distributed configurations of servers in one example comprise a control server and a plurality of resource servers that are allocated to handle a load, for example, processing of incoming calls. To prevent a single resource server from becoming overloaded, the control server performs load balancing to distribute the load among the plurality of resource servers. Known methods for load balancing comprise a statically weighted distribution and round-robin distribution.
When the control server employs the statically weighted distribution, a predetermined portion of the load is distributed to each resource server. For example, control server distributes forty percent of the load to a first resource server and sixty percent of the load to a second resource server. When the control server employs the round-robin distribution, the control server alternates between the first and second resource servers for distribution of the load. However, these load balancing methods do not take the load on the resource servers into account. If the first resource server becomes overloaded while the second server is operating at a normal level, the control server will still distribute a portion of the load to the first server. As the first resource server becomes further overloaded, a quality of service level provided by the distributed configuration is reduced.
Thus, a need exists for load balancing based on resource server loads.